Single-Frontier Bidirectional Search

نویسندگان

  • Ariel Felner
  • Carsten Moldenhauer
  • Nathan R. Sturtevant
  • Jonathan Schaeffer
چکیده

We introduce a new bidirectional search algorithm, SingleFrontier Bidirectional Search (SFBDS). Unlike traditional BDS which keeps two frontiers, SFBDS uses a single frontier. At a particular node we can decide to search from start to goal or from goal to start, choosing the direction with the highest potential for minimizing the total work done. We provide theoretical analysis that explains when SFBDSwill work validated by experimental results. Single-frontier bidirectional search We use the term node and use capital letters (e.g. N ) to indicate nodes of the search tree, while the term state and small letters (e.g., s) are used to indicate states (or vertices) of the input graph. Assume the task is to find a path between s and g on a graph. Regular search algorithms formalize a search tree such that each node of the tree includes one state of the graph. Assume that node N corresponds to state x. The task at N is to find a (shortest) path between x and g. When a heuristic is applied, it estimates the length of the path from x to g (h-cost) and adds this to the accumulated path from s to x (g-cost). When the goal is reached via an optimal path, we backtrack and the states of the path are passed up the tree to construct the solution path. Our new algorithm is called single-frontier bidirectional search (SFBDS). In SFBDS each node is defined as a pair of states x and y denoted by N(x, y). The task of such a node is to find a shortest path between x and y. This can be done by treating x as the start and y as the goal, searching from x to y. An alternative is to reverse the direction of the search by treating y as the start and x as the goal, searching from y to x. If at N(x, y) both x and y have two neighbors, then the children of N of the two alternatives are: (a) regular direction (expand x): (x1, y) and (x2, y); or (b) reverse direction (expand y): (x, y1) and (x, y2). Each node N should be expanded according to one of these alternatives. The search terminates when a goal node is reached (N(x, y) where x = y). The choice of search direction in N is reflected by N ’s children only, but no other node in the search is influenced by this choice of direction. Copyright c © 2010, Association for the Advancement of Artificial Intelligence (www.aaai.org). All rights reserved. A full version of this works appears in (Felner et al. 2010) Solutions or cost estimates from nodeN are naturally passed up to the parent of N , regardless of the direction used for N . Constructing the solution path is straightforward. When backtracking up the search tree from a goal node, edges that correspond to forward expansions are appended to the front of the path while edges that correspond to backwards expansions are appended to the end of the path. We use a jumping policy to choose which direction to continue the search at each node. Define the task search tree (task tree in short) for a given jumping policy as the tree obtained by using N(s, g) as the root of the tree. Any admissible algorithm can be used to search for a shortest path from the root to any goal node in the task search tree. The concept of duality and an algorithm called dual search (DS) (Zahavi et al. 2008) was introduced in the context of permutation state spaces. DS has two main limitations. First, it only works in domains (e.g., combinatorial puzzles) which have the special property that each operator corresponds to a location-based permutation. Similarly, it assumes that the same type of operators are applicable to all states. Second, the concept of the dual state and the DS algorithm are technically complicated and hard to understand. SFBDS generalizes DS to all possible state spaces and is simpler to understand.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Efficient Single Frontier Bidirectional Search

The Single Frontier Bi-Directional Search (SBS) framework was recently introduced. A node in SBS corresponds to a pair of states, one from each of the frontiers and it uses front-tofront heuristics. In this paper we present an enhanced version of SBS, called eSBS, where pruning and caching techniques are applied, which significantly reduce both time and memory needs of SBS. We then present a hy...

متن کامل

Optimally solving permutation sorting problems with efficient partial expansion bidirectional heuristic search

In this paper we consider several variants of the problem of sorting integer permutations with a minimum number of moves, a task with many potential applications ranging from computational biology to logistics. Each problem is formulated as a heuristic search problem, where different variants induce different sets of allowed moves within the search tree. Due to the intrinsic nature of this cate...

متن کامل

Effective Bidirectional A* with Frontier Search and External-Memory Utilization

We present an advanced Bidirectional A* algorithm featuring an application of Frontier Search and a strategy for the performance-efficient utilization of External Memory. We present the results of an experimental evaluation demonstrating that this algorithm is capable of tackling exceptionally large state spaces while consuming significantly less time and space than its A* counterpart. For inst...

متن کامل

Using Lookaheads with Optimal Best-First Search

We present an algorithm that exploits the complimentary benefits of best-first search (BFS) and depth-first search (DFS) by performing limited DFS lookaheads from the frontier of BFS. We show that this continuum requires significantly less memory than BFS. In addition, a time speedup is also achieved when choosing the lookahead depth correctly. We demonstrate this idea for breadth-first search ...

متن کامل

Bidirectional Expansion For Keyword Search on Graph Databases

Relational, XML and HTML data can be represented as graphs with entities as nodes and relationships as edges. Text is associated with nodes and possibly edges. Keyword search on such graphs has received much attention lately. A central problem in this scenario is to efficiently extract from the data graph a small number of the “best” answer trees. A Backward Expanding search, starting at nodes ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010